/*
 * @Descripttion: 系统配置检测提示语
 * @version: 
 * @Author: turingchang
 * @Date: 2020-08-26 09:49:59
 * @LastEditors: turingchang
 * @LastEditTime: 2020-08-26 16:36:26
 */

var deconfig ={};

deconfig.userLogger={
    desc:"用户自定义log",
    conf:{
        userLogger:{ //用户自定义log配置
            requestLogger:{ //自定义log名称
              level: 'DEBUG',//log等级.debug输出所有状态
              file: "path.join(appInfo.root, 'logs/sys/request/request.log')", //log文件保存地址
              jsonfile:"path.join(appInfo.root, 'logs/sys/request/request.json.log')",//log json文件保存地址，便于上传log
            },
        },  
    }       
}

deconfig.jsonp={
    desc:"jsonp请求配置",
    conf:{
        jsonp: {
            callback: 'callback', // 识别 query 中的 `callback` 参数
            limit: 100, // 函数名最长为 100 个字符
        },
    }    
}

deconfig.middleware={
    desc:"中间件配置",
    conf:{
        middleware: "你的中间件名称，数组，如：['authHandler','errorHandler'] ",
    }    
}

deconfig.configHandler ={
    desc:"全局检测是否有设置配置信息中间件配置",
    conf:{
        configHandler: {
            enable: '是否启用此插件,true开启，false关闭。 默认开启',
        },
    }    
}

deconfig.errorHandler ={
    desc:"全局错误处理中间件配置",
    conf:{
        errorHandler: {
            enable: '是否启用此插件,true开启，false关闭。 默认开启',
        },
    }    
}

deconfig.authHandler={
    desc:"全局请求安全认证处理中间件配置",  
    conf:{
        authHandler: {
            enable: '是否启用此插件,true开启，false关闭。 默认开启',
            allowed:"验证请求时不需要鉴权的路由，数组，如：['/api/user/register','/api/user/login'] ",        
        },
    }      
}

deconfig.xrpc={
    desc:"远程服务调用中间件配置",
    conf:{
        xrpc: {
            enable: '是否启用此插件,true开启，false关闭。 默认开启',
        },
    }    
}

deconfig.forbidIp ={
    desc:"全局禁止ip请求中间件配置",
    conf:{
        forbidIp: {
            enable: '是否启用此插件,true开启，false关闭。 默认开启',
        },
    }    
}

deconfig.forbidRouter ={
    desc:"全局禁止路由请求中间件配置",
    conf:{
        forbidRouter: {
            enable: '是否启用此插件,true开启，false关闭。 默认开启',
        },
    }    
}

deconfig.jwt ={
    desc:"token中间件配置",
    conf:{
        jwt: {
            secret: '你的加密密钥，可任意字符', //加密密钥
            expiresIn: 'token过期时间，毫秒，可运算，如：2小时过期 60 * 60 * 2' // 2小时过期
        },
    }  
}

deconfig.security ={
    desc:"底层安全防请求攻击中间件配置",
    conf:{
        security: { //安全组件，防http攻击
            xframe: {
              enable: false,
            },
            ipBlackList: [
              '',
            ],
            csrf: {
              enable: false, //只需将这个设为false则关闭安全验证，框架默认是开启的。 https://eggjs.org/zh-cn/core/security.html
            },
        }
    }
}

deconfig.console ={
    desc:"控制台输出自定义配置",
    conf:{
        request:{
            style:"自定义输出头部信息 ------------------------------------>>>>>>>>> ${appInfo.name} <<<<<<<<<------------------------------------ \n",
        },  
    }
}


module.exports =deconfig;